/**
 * SDCard单例模式抽象类,每个手机只能有一个存储卡
 * @author William
 * 2012-3-3
 */

package com.ytu.clouddisk.sdcard;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class SDCard {

	public static SDCard instance = null;
	private File[] files;
	private File currentDir = new File("/sdcard");
   
	private SDCard() {
		files = currentDir.listFiles();
	}

	/* 获取单例 */
	public static SDCard getInstance() {
		if (instance == null)
			instance = new SDCard();
		return instance;
	}
	
	/*获取当前路径*/
	public String getCurrentDir() {
		return currentDir.getAbsolutePath();
	}

	/* 浏览系统根目录 */
	public void browseRoot() {
		browseFile("/sdcard");
	}

	/* 返回上一级 */
	public void upLevel() {
		if (this.currentDir.getParent() != null) {
			this.browseFile(this.currentDir.getParentFile().toString());
		}
	}

	/* 浏览指定文件夹,如果为文件则打开 */
	public void browseFile(String path) {
		File file = new File(path);
		if (file.isDirectory()) {
			this.currentDir = file; // 在此改变了currentDir，使之总是 为当前的目录.
			files = file.listFiles();
		} else {
			
		}
	}
	/* 获取文件名数组 */
	
	@SuppressWarnings("null")
	public List<String> getFilesName() {
		 List<String> fileName = new ArrayList<String>();
		 for(File f : files) {
			if(f.isDirectory()){
				 fileName.add(f.getName().toString());
			}
			else if(f.isFile( )){
				 fileName.add(f.getName().toString());
			}
		 }
		 return fileName;
	}
	
//	/* 单击时打开文件 */
//	protected void openFile(File aFile) {
//		Intent intent = new Intent();
//		intent.setAction(android.content.Intent.ACTION_VIEW);
//		File file = new File(aFile.getAbsolutePath());
//		String fileName = file.getName();
//		/**/
//		if (checkEndsWithInStringArray(fileName,getResources().getStringArray(R.array.fileEndingImage))) {
//			intent.setDataAndType(Uri.fromFile(file), "image/*");
//		} else if (checkEndsWithInStringArray(fileName, getResources()
//				.getStringArray(R.array.fileEndingAudio))) {
//			intent.setDataAndType(Uri.fromFile(file), "audio/*");
//		} else if (checkEndsWithInStringArray(fileName, getResources()
//				.getStringArray(R.array.fileEndingVideo))) {
//			intent.setDataAndType(Uri.fromFile(file), "video/*");
//		}
//		
//	}
//

	/* 用文件（夹）数组填充列表 */

}
